Line-oriented text systems and applications operate using a system of records in which each line in a file or text document is a separate record. Typically, each line includes a text element of a fixed or maximum length containing the record information, and a series of fixed-length columns which include a non-text element(s) relating to record management, for example, sequence numbers. Line-oriented text systems are commonly found in legacy systems. Legacy systems or legacy applications are systems or applications implemented using languages, platforms, or techniques earlier than the current technology. Examples of legacy systems include the System/390® (S/390®) and AS/400® mainframes from IBM Corporation. Legacy applications often contain important data, logic or applications which need to be accessed by newer or current applications or systems. Thus, an important feature for new software products is the ability to interface with, or at least import data from and export data to, legacy applications.
Line-oriented text editors are one example of line-oriented text applications. Modern text editors such as Word™ and Wordperfect™ are stream-oriented applications in which text documents are generally less structured. Unlike line-oriented text documents where each line is a record having a number of fixed-length columns, a stream-oriented text document comprises a stream of characters.
It is often desirable to access line-oriented text documents using stream-oriented applications. However, many problems can arise when a line-oriented text editor is interfaced with a stream-oriented application. For example, many stream-oriented text applications typically cannot understand line-oriented text documents due to the structured format of those documents. Further, most stream-oriented text applications cannot implement sequence numbers or handle adjustments to sequence numbers and/or the text records that may arise from edit operations.
Additional record-structure formatting issues may result from differences between the character encoding used by the line-oriented documents on the legacy system (e.g. Extended Binary Coded Decimal Interchange Code (EBCDIC)) and the character encoding used by the new software platform (e.g. Unicode) processing these documents.
In view of these shortcomings, there exists a need for a method for synchronization of a line-oriented text document and a stream-oriented text document.